package com.ruoyi.report_jl.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 细含泥量 泥块含量 坚固性记录业务对象 report_jl_xjlhnljlb_bs_info
 *
 * @author tll
 * @date 2024-07-31
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportJlXjlhnljlbBsInfoBo extends ExcelGeneralBo {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotNull(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 报表名称
     */
    @NotBlank(message = "报表名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobmc;

    /**
     * 报表编号
     */
    @NotBlank(message = "报表编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 检测人
     */
    @NotBlank(message = "检测人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancr;

    /**
     * 记录人
     */
    @NotBlank(message = "记录人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilr;

    /**
     * 复核人
     */
    @NotBlank(message = "复核人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuhr;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date riq;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 设备id逗号分隔
     */
    @NotBlank(message = "设备id逗号分隔不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @NotBlank(message = "判定依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 含泥量试验次数1
     */
    @NotBlank(message = "含泥量试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String hannlSycs1;

    /**
     * 含泥量试验前烘干试样质量m0(g)1
     */
    @NotNull(message = "含泥量试验前烘干试样质量m0(g)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlM11;

    /**
     * 含泥量试验后烘干试样质量m1(g)1
     */
    @NotNull(message = "含泥量试验后烘干试样质量m1(g)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlM21;

    /**
     * 含泥量试验含泥量测值1
     */
    @NotNull(message = "含泥量试验含泥量测值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlCz1;

    /**
     * 含泥量试验次数2
     */
    @NotBlank(message = "含泥量试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String hannlSycs2;

    /**
     * 含泥量试验前烘干试样质量m0(g)2
     */
    @NotNull(message = "含泥量试验前烘干试样质量m0(g)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlM12;

    /**
     * 含泥量试验后烘干试样质量m1(g)2
     */
    @NotNull(message = "含泥量试验后烘干试样质量m1(g)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlM22;

    /**
     * 含泥量试验含泥量测值2
     */
    @NotNull(message = "含泥量试验含泥量测值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlCz2;

    /**
     * 含泥量试验平均值
     */
    @NotNull(message = "含泥量试验平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hannlPjz;

    /**
     * 泥块含量试验次数1
     */
    @NotBlank(message = "泥块含量试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nikhlSycs1;

    /**
     * 泥块含量试验前存留1.18mm筛上烘干试样质量 m1 (g)1
     */
    @NotNull(message = "泥块含量试验前存留1.18mm筛上烘干试样质量 m1 (g)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlM01;

    /**
     * 泥块含量试验前存留1.18mm筛上烘干试样质量 m2 (g)1
     */
    @NotNull(message = "泥块含量试验前存留1.18mm筛上烘干试样质量 m2 (g)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlM11;

    /**
     * 泥块含量试验泥块含量测值1
     */
    @NotNull(message = "泥块含量试验泥块含量测值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlCz1;

    /**
     * 泥块含量试验次数2
     */
    @NotBlank(message = "泥块含量试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nikhlSycs2;

    /**
     * 泥块含量试验前存留1.18mm筛上烘干试样质量 m1 (g)2
     */
    @NotNull(message = "泥块含量试验前存留1.18mm筛上烘干试样质量 m1 (g)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlM02;

    /**
     * 泥块含量试验前存留1.18mm筛上烘干试样质量 m2 (g)2
     */
    @NotNull(message = "泥块含量试验前存留1.18mm筛上烘干试样质量 m2 (g)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlM12;

    /**
     * 泥块含量试验泥块含量测值2
     */
    @NotNull(message = "泥块含量试验泥块含量测值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlCz2;

    /**
     * 泥块含量平均值
     */
    @NotNull(message = "泥块含量平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal nikhlPjz;

    /**
     * 坚固性试验硫酸钠溶液配制时间
     */
    @NotBlank(message = "坚固性试验硫酸钠溶液配制时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiangxPzsj;

    /**
     * 坚固性试验溶液温度（℃）
     */
    @NotNull(message = "坚固性试验溶液温度（℃）不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxWd;

    /**
     * 坚固性试验溶液相对密度
     */
    @NotNull(message = "坚固性试验溶液相对密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxXdmd;

    /**
     * 坚固性试验-公称粒级（mm）1
     */
    @NotBlank(message = "坚固性试验-公称粒级（mm）1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiangxGclj1;

    /**
     * 坚固性试验-每一粒级试样试验前的烘干质量mi（g）1
     */
    @NotNull(message = "坚固性试验-每一粒级试样试验前的烘干质量mi（g）1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxMi1;

    /**
     * 坚固性试验-第一次称量1
     */
    @NotNull(message = "坚固性试验-第一次称量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC11;

    /**
     * 坚固性试验-第二次称量1
     */
    @NotNull(message = "坚固性试验-第二次称量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC21;

    /**
     * 坚固性试验-第三次称量1
     */
    @NotNull(message = "坚固性试验-第三次称量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC31;

    /**
     * 坚固性试验-不同粒级的分计质量损失百分率（%）1
     */
    @NotNull(message = "坚固性试验-不同粒级的分计质量损失百分率（%）1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxSsbfl1;

    /**
     * 坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)1
     */
    @NotNull(message = "坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxFjzl1;

    /**
     * 坚固性试验-公称粒级（mm）2
     */
    @NotBlank(message = "坚固性试验-公称粒级（mm）2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiangxGclj2;

    /**
     * 坚固性试验-每一粒级试样试验前的烘干质量mi（g）2
     */
    @NotNull(message = "坚固性试验-每一粒级试样试验前的烘干质量mi（g）2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxMi2;

    /**
     * 坚固性试验-第一次称量2
     */
    @NotNull(message = "坚固性试验-第一次称量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC12;

    /**
     * 坚固性试验-第二次称量2
     */
    @NotNull(message = "坚固性试验-第二次称量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC22;

    /**
     * 坚固性试验-第三次称量2
     */
    @NotNull(message = "坚固性试验-第三次称量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC32;

    /**
     * 坚固性试验-不同粒级的分计质量损失百分率（%）2
     */
    @NotNull(message = "坚固性试验-不同粒级的分计质量损失百分率（%）2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxSsbfl2;

    /**
     * 坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)2
     */
    @NotNull(message = "坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxFjzl2;

    /**
     * 坚固性试验-公称粒级（mm）3
     */
    @NotBlank(message = "坚固性试验-公称粒级（mm）3不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiangxGclj3;

    /**
     * 坚固性试验-每一粒级试样试验前的烘干质量mi（g）3
     */
    @NotNull(message = "坚固性试验-每一粒级试样试验前的烘干质量mi（g）3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxMi3;

    /**
     * 坚固性试验-第一次称量3
     */
    @NotNull(message = "坚固性试验-第一次称量3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC13;

    /**
     * 坚固性试验-第二次称量3
     */
    @NotNull(message = "坚固性试验-第二次称量3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC23;

    /**
     * 坚固性试验-第三次称量3
     */
    @NotNull(message = "坚固性试验-第三次称量3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC33;

    /**
     * 坚固性试验-不同粒级的分计质量损失百分率（%）3
     */
    @NotNull(message = "坚固性试验-不同粒级的分计质量损失百分率（%）3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxSsbfl3;

    /**
     * 坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)3
     */
    @NotNull(message = "坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxFjzl3;

    /**
     * 坚固性试验-公称粒级（mm）4
     */
    @NotBlank(message = "坚固性试验-公称粒级（mm）4不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiangxGclj4;

    /**
     * 坚固性试验-每一粒级试样试验前的烘干质量mi（g）4
     */
    @NotNull(message = "坚固性试验-每一粒级试样试验前的烘干质量mi（g）4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxMi4;

    /**
     * 坚固性试验-第一次称量4
     */
    @NotNull(message = "坚固性试验-第一次称量4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC14;

    /**
     * 坚固性试验-第二次称量4
     */
    @NotNull(message = "坚固性试验-第二次称量4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC24;

    /**
     * 坚固性试验-第三次称量4
     */
    @NotNull(message = "坚固性试验-第三次称量4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxC34;

    /**
     * 坚固性试验-不同粒级的分计质量损失百分率（%）4
     */
    @NotNull(message = "坚固性试验-不同粒级的分计质量损失百分率（%）4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxSsbfl4;

    /**
     * 坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)4
     */
    @NotNull(message = "坚固性试验-不同粒级的颗粒在原试样总量中的分计质量mi(g)4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxFjzl4;

    /**
     * 坚固性试验-平均值
     */
    @NotNull(message = "坚固性试验-平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiangxPjz;

    @NotNull(message = "报表编号集", groups = { AddGroup.class, EditGroup.class })
    private List<String> baobbhList;
}
